#ifndef Networking_Exceptions_H
#define Networking_Exceptions_H

#include <iostream>
#include <exception>

namespace Networking
{
  class NetworkingException : public std::exception
  {
  private:
    int numeric;
    std::string message;
  public:
    NetworkingException(){}
    
    NetworkingException(int value, std::string msg) : numeric(value), message(msg) { }
    
    virtual ~NetworkingException() throw() {}
    
    int Numeric() throw()
    {
      return numeric;
    }
    
    std::string Message() throw()
    {
      return message;
    }
    
    virtual const char* what() const throw()
    {
      return message.c_str();
    }
  };
}

#endif